package com.lcj.ssm.mapper;

import com.lcj.ssm.po.Topic;
import com.lcj.ssm.po.TopicCustomer;
import com.lcj.ssm.po.TopicExample;
import com.lcj.ssm.po.TopicShow;
import com.lcj.ssm.po.TopicVO;

import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface TopicMapper {
    int countByExample(TopicExample example);

    int deleteByExample(TopicExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(Topic record);

    int insertSelective(Topic record);

    List<Topic> selectByExampleWithBLOBs(TopicExample example);

    List<Topic> selectByExample(TopicExample example);

    Topic selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") Topic record, @Param("example") TopicExample example);

    int updateByExampleWithBLOBs(@Param("record") Topic record, @Param("example") TopicExample example);

    int updateByExample(@Param("record") Topic record, @Param("example") TopicExample example);

    int updateByPrimaryKeySelective(Topic record);

    int updateByPrimaryKeyWithBLOBs(Topic record);

    int updateByPrimaryKey(Topic record);
    
    List<TopicCustomer> selectTopicList(TopicVO topicvo);
    
    int selectTotalCount();
    
    List<TopicShow> selectGoodTopicList();
    
    List<TopicShow> selectLastTopic();
    
    List<TopicCustomer> selectTopicListByForumId(TopicVO topicvo);
    
    int selectTotalCountByForum(Integer forumid);
    
    List<TopicCustomer> selectNewTopic();
    
    List<TopicCustomer> selectBestTopic();
    
    TopicCustomer selectTopicCustomer(Integer topicid);
    
    int updateTopicType(Topic topic);
}